Data processing systems are often handicapped by the constraints imposed by the data bases on the manner in which the data may be accessed and retrieved. For example, in natural language systems (NLS) the form of the queries is quite flexible. But in one version of the NLS the data is arranged in one-dimensional tables only. If the data query does not exactly match one of the tables the system cannot respond. In another version of the NLS there is but one multi-dimensional table. Here too the match between query and table dimensions must be exact. With only one data table to work with, the available data is severely limited, for one table, even if it is multidimensional, cannot hold all the data items needed for a facile system.
Graphical input systems are somewhat less flexible in the form of queries acceptable. The query must precisely define the data items desired as well as the dimensions applicable. Further, the user must specify the tables to be accessed to respond to the query and if more than one table needs to be accessed the user must identify each such table and define the join between them. While the graphical approach does permit a large number of tables this is a problem as well as an advantage: the user must scan all of the tables in order to determine which tables are appropriate to access and whether or not and how to join them. And the difficulty becomes compounded when there are dozens or even hundreds of tables, only a few of which can be displayed at one time for review.
The least flexible approach for user queries is afforded by structural query language (SQL) which requires specific syntax table or tables to be specified. Further, the joins and any other artificial constructs must be stated precisely by the user. In all three of these approaches the query must be complete or the system cannot respond: a query which has more dimensions or fewer dimensions than the available data tables cannot be processed.